package ar.com.binarit.entities

import ar.com.binarit.Person

class Calificacion {
	
	Date fecha
	EstadoCalificacion estadoCalificacion
	TipoCalificacion tipoCalificacion
	Viaje viaje
	String comentario
	Person usuario

	static belongsTo  = [usuario:Person]

    static constraints = {
		estadoCalificacion(nullable: true)
		tipoCalificacion(nullable: true)
		viaje(nullable: true)
		comentario(nullable: true)
		usuario(nullable: true)
		fecha(nullable: true)
    }
	
	String toString(){
		"$estadoCalificacion - $comentario"
	}
	
	public boolean equals(Object o) {
		try {
			Calificacion otro = (Calificacion) o
			return otro.comentario.equals(comentario)
		} catch (ClassCastException e) {
			return false
		}
	}

//	public int hashCode() {
//		return comentario?.hashCode()
//	}

	def guardar(){
		this.estadoCalificacion = EstadoCalificacion.cerrado()
		fecha = new Date()
	}
	
}
